package com.study.d4_filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
//注解方式配置的Filter过滤器，它的执行优先级是按时过滤器类名的自动排序确定的，类名排名越靠前，优先级越高。
@WebFilter("/*") //如果在spring的环境搭建的服务器，要在启动类加@ServletComponentScan，开启springboot项目对Servlet的支持
public class DemoFilter2 implements Filter {
    //初始化方法, web服务器启动, 创建Filter实例时调用, 只调用一次
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("init2.......................");
    }
    //拦截到请求时,调用该方法,可以调用多次
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("2拦截到请求前........");
        filterChain.doFilter(servletRequest,servletResponse);
        System.out.println("2拦截到请求放行后........");
    }
    //销毁方法, web服务器关闭时调用, 只调用一次
    @Override
    public void destroy() {
        System.out.println("destroy2........................");
    }
}